Figure 1: Global compilation of stress data
showing the direction of the maximum horizontal stress (\(\sigma_{Hmax}\)) from the WSM2016 database
(Robinson projection). The orientation of σHmax with respect to focal
earthquake mechanisms and the three Andersonian fault is shown. From
Stephan et al. (2023).
Some terms and definitions
Angular data
Maximum horizontal stress \(\sigma_{Hmax}\)
Directional data (0-360\(^{\circ}\))
e.g. dip direction, paleocurrent direction, …
Axial data (0-180\(^{\circ}\))
e.g. strike, trend, …
homogeneous or uniform stress field = all angles have similar trends,
i.e. sampled from a uniform distribution with low dispersion
absolute vs. relative plate motion
Plate boundary displacement vs. stress
Figure 2: Sketch of the three types of
displacement across plate boundaries due to relative plate motion. With
respect to the interior of plate X, displacements across the boundaries
of X are inward, outward, and tangentially in the direction of the
motion of X relative to the neighboring plates (modified after Ref.16).
Note that each boundary segment of X has differently oriented
displacement trajectories (black arrows) and can have a different type
of displacement. Outward displacement only occurs on the rift axis of a
divergent plate boundary, but with increasing distance to the plate
boundary, ridge push dominates. This creates an inward-moving plate
boundary displacement. From Stephan et al. (2023).
Figure 3: Sketch of the angular relationship
between the direction of relative plate motion (blue arrows), the strike
of faults (black lines), and the orientation of the maximum horizontal
stress (\(\sigma_{Hmax}\), colored
solid lines) in the deforming area adjacent to the three types of
displacement across plate boundaries: (A) \(\sigma_{Hmax}\) is perpendicular to the
direction of relative plate motion adjacent to an outward-moving
boundary between two plates C and X. Predominant normal faults strike
perpendicular to relative plate motion. Sketch shows the example of a
divergent plate boundary (outward displacement only occurs on the rift
axis of a divergent plate boundary. With increasing distance to the
plate boundary, ridge push dominates. This creates an inward- directed
plate boundary displacement where σHmax opposes the direction of
relative plate motion. (B) \(\sigma_{Hmax}\) is parallel to the
direction of the relative plate motion adjacent to an inward-moving
boundary between two plates A and X. Predominant thrust faults strike
perpendicular to relative plate motion. (C) \(\sigma_{Hmax}\) is at an angle of \(\pm45^{\circ}\) to the direction of the
relative plate motion adjacent to the tangentially displaced boundary
between two plates A and X. Predominant strike-slip faults strike
parallel to relative plate motion. The trajectories of the relative
plate motions (small circles) are displayed as stippled blue lines. Maps
are shown in the Mercator projection. From Stephan et al. (2023).
Figure 4: Geometries of stress trajectories. (A)
Stress trajectories in an orthographic projection are viewed from an
oblique angle to the pole of rotation, PoR. Great circles are lines
along the shortest distance between two data points. Small circles
connect points with a constant distance to a point (e.g. PoR), producing
concentric lines around that point. Loxodromes are lines of constant
bearing that cut both small and great circles at a constant angle. (B)
Exemplified geometries of stress trajectories. Left: conformal Mercator
projections in the geographical coordinate reference system (CRS) (North
Pole at the top of the map). Right: oblique Mercator projection in the
PoR CRS with the PoR rotated to the top of the map. Inset visualizes the
transformation between the two CRSs in orthographic projection. From
Stephan et al. (2023).
Figure 5: (A) Geometry for the determination of
the angular distance along the great circle between point P and the pole
of rotation PoR (N North Pole, O center of the Earth, r Earth’s radius).
(B) Angular relations of the spherical triangle in (A) which are used in
deriving the transformed \(\sigma_{Hmax}\) azimuth \(\alpha′\). From Stephan et
al. (2023).
| Outward |
Normal fault |
\(\beta = \theta\) |
Great circles |
| Tangential (L) |
Strike-slip (L) |
\(\beta = \theta +
45^{\circ}\) |
Counterclockwise loxodromes |
| Inward |
Thrust |
\(\beta = \theta +
90^{\circ}\) |
Small circles |
| Tangential (R) |
Strike-slip (R) |
\(\beta = \theta +
135^{\circ}\) |
Clockwise loxodromes |
Plate motion
data("cpm_models")
absolute_motions <- filter(cpm_models, model == "HS3-NUVEL1A")
na_abs <- filter(absolute_motions, plate.rot == "na")
pa_abs <- filter(absolute_motions, plate.rot == "pa")
plate_polygons <- sf::read_sf("Data/pb2002_plates.shp")
na <- filter(plate_polygons, Code == "NA") |> mutate(name = "na")
pa <- filter(plate_polygons, Code == "PA") |> mutate(name = "pa")
sf::sf_use_s2(FALSE)
na_trajectories <- eulerpole_smallcircles(na_abs) |>
sf::st_intersection(na) |>
mutate(name = "na")
pa_trajectories <- eulerpole_smallcircles(pa_abs) |>
sf::st_intersection(pa) |>
mutate(name = "pa")
sf::sf_use_s2(TRUE)
countries <- rnaturalearth::ne_countries(returnclass = "sf")
world_map <- ggplot() +
geom_sf(data = countries, color = NA, fill = "grey", alpha = .5) +
geom_sf(data = plate_polygons, fill = NA) +
geom_sf(data = rbind(na, pa), aes(color = name, fill = name), alpha = .1) +
theme_minimal()
world_map +
geom_point(data = rbind(na_abs, pa_abs), aes(lon, lat, color = plate.rot)) +
geom_sf(data = rbind(na_trajectories, pa_trajectories), aes(color = name), lty = 2, lwd = 1, alpha = .5) +
labs(title = "Absolute plate motion")

na_pa_rel <- equivalent_rotation(absolute_motions, fixed = "pa", rot = "na")
sf::sf_use_s2(FALSE)
## Spherical geometry (s2) switched off
na_pa_trajectories <- eulerpole_smallcircles(na_pa_rel) |> sf::st_intersection(rbind(na, pa))
## although coordinates are longitude/latitude, st_intersection assumes that they
## are planar
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
## Spherical geometry (s2) switched on
world_map +
geom_point(data = na_pa_rel, aes(lon, lat), color = "darkgreen") +
geom_sf(data = na_pa_trajectories, color = "darkgreen", lty = 2, lwd = 1, alpha = .5) +
labs(title = "Relative plate motion")
